package com.zbkj.service.service;

import com.github.pagehelper.PageInfo;
import com.zbkj.common.request.AttractActivityFrontSearchRequest;
import com.zbkj.common.request.PageParamRequest;
import com.zbkj.common.model.agent.AttractActivity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.request.AttractActivitySaveRequest;
import com.zbkj.common.request.AttractActivitySearchRequest;
import com.zbkj.common.response.*;

import java.util.List;
/**
* @author Caiyc
* @description AttractActivityService 接口
* @date 2025-08-07
*/
public interface AttractActivityService extends IService<AttractActivity> {

    Boolean create(AttractActivitySaveRequest attractActivitySaveRequest);

    /**
     * 分页查询邀约活动表
     * @param request 查询条件
     * @param pageParamRequest 分页对行
     * @return 查询结果
     */
    List<AttractActivityPageDataResponse> getList(AttractActivitySearchRequest request, PageParamRequest pageParamRequest);
    PageInfo<AttractActivityFrontPageDataResponse> getListH5(AttractActivityFrontSearchRequest request, PageParamRequest pageParamRequest);

    /**
    * 修改邀约活动表
    * @param attractActivityRequest
    * @return
    */
    boolean update(AttractActivitySaveRequest attractActivityRequest);

    /**
    * 批量删除
    * @param idList
    * @return
    */
    boolean batchDelete(List<Integer> idList);

    /**
    * 查询溯源套餐表详情
    * @param id
    * @return
    */
    AttractActivityDetailResponse getDetails(Integer id);
    AttractActivityFrontDetailResponse getDetailsH5(Integer id);

    AttractActivityLatestFrontResponse getLatestActivity();

    String getTitleById(Integer activityId);

    boolean updateStatus(Integer id, Integer status);

    boolean copy(Integer id);
}